<?php
/**
 * User: LRZ
 * Date: 2020/2/21
 * Time: 16:41
 */

/**
 *  836.矩形重叠
 *
 *  标签：数学
 *
 *  矩形以列表 [x1, y1, x2, y2] 的形式表示，其中 (x1, y1) 为左下角的坐标，(x2, y2) 是右上角的坐标。
 *  如果相交的面积为正，则称两矩形重叠。需要明确的是，只在角或边接触的两个矩形不构成重叠。
 *  给出两个矩形，判断它们是否重叠并返回结果。
 *
 *  示例 1：
 *      输入：rec1 = [0,0,2,2], rec2 = [1,1,3,3]
 *      输出：true
 *
 *  示例 2：
 *      输入：rec1 = [0,0,1,1], rec2 = [1,0,2,1]
 *      输出：false
 *
 *  说明：
 *      两个矩形 rec1 和 rec2 都以含有四个整数的列表的形式给出。
 *      矩形中的所有坐标都处于 -10^9 和 10^9 之间。
 *
 *  来源：力扣（LeetCode）
 *  链接：https://leetcode-cn.com/problems/rectangle-overlap
 *  著作权归领扣网络所有。商业转载请联系官方授权，非商业转载请注明出处。
 */

$start = microtime(true);

$rec1 = [0, 0, 2, 2];
$rec2 = [1, 1, 3, 3];
$res  = isRectangleOverlap($rec1, $rec2);

$end = microtime(true);
print_r($res);
printf(' total run: %.2f s<br>' . 'memory usage: %.2f M<br> ', $end - $start, memory_get_usage() / 1024 / 1024);

function isRectangleOverlap($rec1, $rec2)
{
    list($x1, $y1, $x2, $y2) = $rec1;
    list($x3, $y3, $x4, $y4) = $rec2;
    return !($x2 <= $x3 || $x4 <= $x1 || $y1 >= $y4 || $y3 >= $y2);
}